linux: netfront contains two locking problems found by lockdep:
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Fri, 13 Apr 2007 10:28:04 +0000 (11:28 +0100)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Fri, 13 Apr 2007 10:28:04 +0000 (11:28 +0100)
commit31fa3c4208bf24e6af4c00d9b002669147cd02ed
tree81c61a44928615d2f48f17dec97af0e0904eedeb
parent5e0ae4b087587433571507f711788bde1a83c2d9
linux: netfront contains two locking problems found by lockdep:

1. rx_lock is a normal spinlock, and tx_lock is an irq spinlock.  This
   means that in normal use, tx_lock may be taken by an interrupt
   routine while rx_lock is held.  However, netif_disconnect_backend
   takes them in the order tx_lock->rx_lock, which could lead to a
   deadlock. Reverse them.
2. rx_lock can also be used in softirq context, so it should be
   taken/released with spin_(un)lock_bh.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c